package com.finalcial.dao;

import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

/**
 * 对应申请界面---基本信息
 * @author Administrator
 *
 */
public interface BasicDao {


	/**
	 * 申请界面基本信息查询
	 * @param userId 用户ID
	 * @return 报账人、报账单位名称(部门名)、报账人电话、公司代码(公司id)
	 */
	public List<Map<String,Object>> getUserBasicInfo(Integer userId);
	
	/**
	 * 申请界面基本信息查询
	 * @param reimbursementTypeId 报销类型ID
	 * @return 预算指标
	 */
	public String getBudgetIndicator(Integer reimbursementTypeId);

	/**
	 * 申请界面基本信息查询
	 * @return 票据类型名称
	 */
	public List<Map<String,Object>> getInvoiceTypeName();
	

	/**
	 * 申请界面基本信息增加收款表
	 * @param userId 用户ID
	 * @param payments 收支方式
	 * @param reimbursementId 报销ID
	 */
	public Integer insertReceivables(@Param("userId")Integer userId,@Param("payments")String payments,@Param("reimbursementId")String reimbursementId);
	

	/**
	 * 申请界面基本信息增加报销表（是否员工代垫、是否个人专项在公务交通和物业管理，是否员工代垫在员工福利）
	 * @param userId 用户ID
	 * @param reimbursementId 报销ID
	 * @param reimbursementTypeId 报销类型ID
	 * @param reimbursementTime 报账时间（报销时间）
	 * @param reimbursementNumber 附单据张数（单据张数）
	 * @param reimbursementExplain 报账说明（报销说明）
	 * @param isAdvance 是否员工代垫
	 * @param isSingle 是否个人专项
	 * @param reimbursementMoney 报销金额
	 * @param reimbursementMoneyOfTax 报销金额含税
	 * @param isCostCapitalBudget 是否使用成本预算
	 */
	public Integer insertOPReimbursement(@Param("userId")Integer userId,@Param("reimbursementId")String reimbursementId,@Param("reimbursementTypeId")Integer reimbursementTypeId,@Param("reimbursementTime")Date reimbursementTime,@Param("reimbursementNumber")Integer reimbursementNumber,@Param("reimbursementExplain")String reimbursementExplain,@Param("isAdvance")String isAdvance,@Param("isSingle")String isSingle,@Param("reimbursementMoney") Integer reimbursementMoney, @Param("reimbursementMoneyOfTax") Integer reimbursementMoneyOfTax, @Param("isCostCapitalBudget")String isCostCapitalBudget);
}
